package cn.momoshenchi.medicine.pojo;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 问诊记录表
 * @TableName consult_ask
 */
@TableName(value ="consult_ask")
public class ConsultAsk implements Serializable {
    /**
     * 问诊id
     */
    @TableId
    private String consultId;

    /**
     * 机构id
     */
    private String orgId;

    /**
     * 机构名称
     */
    private String orgName;

    /**
     * 科室id
     */
    private String deptId;

    /**
     * 科室名称
     */
    private String deptName;

    /**
     * 医生id
     */
    private String doctorId;

    /**
     * 医生姓名
     */
    private String doctorName;

    /**
     * 医生职称代码
     */
    private String doctorLevelCode;

    /**
     * 医生职称
     */
    private String doctorLevelName;

    /**
     * 操作用户id
     */
    private String createUserId;

    /**
     * 配药人姓名
     */
    private String personName;

    /**
     * 配药人证件类型，01居民身份证 02居民户口簿 03护照 04军官证 05驾驶证 06港澳居民来往内地通行证 07台湾居民来往内地通行证 11出生证明 12港澳居民身份证 13港澳居民居住证 99其他法定有效证件
     */
    private String personCardType;

    /**
     * 配药人证件号码
     */
    private String personCardId;

    /**
     * 配药人性别，1男，2女
     */
    private String personGenderCode;

    /**
     * 配药人性别，1男，2女
     */
    private String personGenderName;

    /**
     * 配药人出生日期
     */
    private Date personBirthDate;

    /**
     * 配药人年龄
     */
    private Byte personAge;

    /**
     * 配药人手机号码
     */
    private String personPhoneNo;

    /**
     * 问题描述
     */
    private String question;

    /**
     * 诊断小结
     */
    private String diagnosis;

    /**
     * 复诊提交药物id，用英文逗号分隔
     */
    private String drugIds;

    /**
     * 复诊配药提交药物名称，用英文逗号分隔
     */
    private String drugNames;

    /**
     * 问诊照片id，用英文逗号分隔
     */
    private String photoIds;

    /**
     * 复诊配药状态，1待接诊，2进行中，3已完成
     */
    private Byte consultStatus;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 接诊时间
     */
    private Date acceptTime;

    /**
     * 完成时间
     */
    private Date finishTime;


    private  String avatarUrl;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 问诊id
     */
    public String getConsultId() {
        return consultId;
    }

    public String getAvatarUrl()
    {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl)
    {
        this.avatarUrl = avatarUrl;
    }

    /**
     * 问诊id
     */
    public void setConsultId(String consultId) {
        this.consultId = consultId;
    }

    /**
     * 机构id
     */
    public String getOrgId() {
        return orgId;
    }

    /**
     * 机构id
     */
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    /**
     * 机构名称
     */
    public String getOrgName() {
        return orgName;
    }

    /**
     * 机构名称
     */
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    /**
     * 科室id
     */
    public String getDeptId() {
        return deptId;
    }

    /**
     * 科室id
     */
    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    /**
     * 科室名称
     */
    public String getDeptName() {
        return deptName;
    }

    /**
     * 科室名称
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /**
     * 医生id
     */
    public String getDoctorId() {
        return doctorId;
    }

    /**
     * 医生id
     */
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }

    /**
     * 医生姓名
     */
    public String getDoctorName() {
        return doctorName;
    }

    /**
     * 医生姓名
     */
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    /**
     * 医生职称代码
     */
    public String getDoctorLevelCode() {
        return doctorLevelCode;
    }

    /**
     * 医生职称代码
     */
    public void setDoctorLevelCode(String doctorLevelCode) {
        this.doctorLevelCode = doctorLevelCode;
    }

    /**
     * 医生职称
     */
    public String getDoctorLevelName() {
        return doctorLevelName;
    }

    /**
     * 医生职称
     */
    public void setDoctorLevelName(String doctorLevelName) {
        this.doctorLevelName = doctorLevelName;
    }

    /**
     * 操作用户id
     */
    public String getCreateUserId() {
        return createUserId;
    }

    /**
     * 操作用户id
     */
    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    /**
     * 配药人姓名
     */
    public String getPersonName() {
        return personName;
    }

    /**
     * 配药人姓名
     */
    public void setPersonName(String personName) {
        this.personName = personName;
    }

    /**
     * 配药人证件类型，01居民身份证 02居民户口簿 03护照 04军官证 05驾驶证 06港澳居民来往内地通行证 07台湾居民来往内地通行证 11出生证明 12港澳居民身份证 13港澳居民居住证 99其他法定有效证件
     */
    public String getPersonCardType() {
        return personCardType;
    }

    /**
     * 配药人证件类型，01居民身份证 02居民户口簿 03护照 04军官证 05驾驶证 06港澳居民来往内地通行证 07台湾居民来往内地通行证 11出生证明 12港澳居民身份证 13港澳居民居住证 99其他法定有效证件
     */
    public void setPersonCardType(String personCardType) {
        this.personCardType = personCardType;
    }

    /**
     * 配药人证件号码
     */
    public String getPersonCardId() {
        return personCardId;
    }

    /**
     * 配药人证件号码
     */
    public void setPersonCardId(String personCardId) {
        this.personCardId = personCardId;
    }

    /**
     * 配药人性别，1男，2女
     */
    public String getPersonGenderCode() {
        return personGenderCode;
    }

    /**
     * 配药人性别，1男，2女
     */
    public void setPersonGenderCode(String personGenderCode) {
        this.personGenderCode = personGenderCode;
    }

    /**
     * 配药人性别，1男，2女
     */
    public String getPersonGenderName() {
        return personGenderName;
    }

    /**
     * 配药人性别，1男，2女
     */
    public void setPersonGenderName(String personGenderName) {
        this.personGenderName = personGenderName;
    }

    /**
     * 配药人出生日期
     */
    public Date getPersonBirthDate() {
        return personBirthDate;
    }

    /**
     * 配药人出生日期
     */
    public void setPersonBirthDate(Date personBirthDate) {
        this.personBirthDate = personBirthDate;
    }

    /**
     * 配药人年龄
     */
    public Byte getPersonAge() {
        return personAge;
    }

    /**
     * 配药人年龄
     */
    public void setPersonAge(Byte personAge) {
        this.personAge = personAge;
    }

    /**
     * 配药人手机号码
     */
    public String getPersonPhoneNo() {
        return personPhoneNo;
    }

    /**
     * 配药人手机号码
     */
    public void setPersonPhoneNo(String personPhoneNo) {
        this.personPhoneNo = personPhoneNo;
    }

    /**
     * 问题描述
     */
    public String getQuestion() {
        return question;
    }

    /**
     * 问题描述
     */
    public void setQuestion(String question) {
        this.question = question;
    }

    /**
     * 诊断小结
     */
    public String getDiagnosis() {
        return diagnosis;
    }

    /**
     * 诊断小结
     */
    public void setDiagnosis(String diagnosis) {
        this.diagnosis = diagnosis;
    }

    /**
     * 复诊提交药物id，用英文逗号分隔
     */
    public String getDrugIds() {
        return drugIds;
    }

    /**
     * 复诊提交药物id，用英文逗号分隔
     */
    public void setDrugIds(String drugIds) {
        this.drugIds = drugIds;
    }

    /**
     * 复诊配药提交药物名称，用英文逗号分隔
     */
    public String getDrugNames() {
        return drugNames;
    }

    /**
     * 复诊配药提交药物名称，用英文逗号分隔
     */
    public void setDrugNames(String drugNames) {
        this.drugNames = drugNames;
    }

    /**
     * 问诊照片id，用英文逗号分隔
     */
    public String getPhotoIds() {
        return photoIds;
    }

    /**
     * 问诊照片id，用英文逗号分隔
     */
    public void setPhotoIds(String photoIds) {
        this.photoIds = photoIds;
    }

    /**
     * 复诊配药状态，1待接诊，2进行中，3已完成
     */
    public Byte getConsultStatus() {
        return consultStatus;
    }

    /**
     * 复诊配药状态，1待接诊，2进行中，3已完成
     */
    public void setConsultStatus(Byte consultStatus) {
        this.consultStatus = consultStatus;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 接诊时间
     */
    public Date getAcceptTime() {
        return acceptTime;
    }

    /**
     * 接诊时间
     */
    public void setAcceptTime(Date acceptTime) {
        this.acceptTime = acceptTime;
    }

    /**
     * 完成时间
     */
    public Date getFinishTime() {
        return finishTime;
    }

    /**
     * 完成时间
     */
    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ConsultAsk other = (ConsultAsk) that;
        return (this.getConsultId() == null ? other.getConsultId() == null : this.getConsultId().equals(other.getConsultId()))
            && (this.getOrgId() == null ? other.getOrgId() == null : this.getOrgId().equals(other.getOrgId()))
            && (this.getOrgName() == null ? other.getOrgName() == null : this.getOrgName().equals(other.getOrgName()))
            && (this.getDeptId() == null ? other.getDeptId() == null : this.getDeptId().equals(other.getDeptId()))
            && (this.getDeptName() == null ? other.getDeptName() == null : this.getDeptName().equals(other.getDeptName()))
            && (this.getDoctorId() == null ? other.getDoctorId() == null : this.getDoctorId().equals(other.getDoctorId()))
            && (this.getDoctorName() == null ? other.getDoctorName() == null : this.getDoctorName().equals(other.getDoctorName()))
            && (this.getDoctorLevelCode() == null ? other.getDoctorLevelCode() == null : this.getDoctorLevelCode().equals(other.getDoctorLevelCode()))
            && (this.getDoctorLevelName() == null ? other.getDoctorLevelName() == null : this.getDoctorLevelName().equals(other.getDoctorLevelName()))
            && (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId()))
            && (this.getPersonName() == null ? other.getPersonName() == null : this.getPersonName().equals(other.getPersonName()))
            && (this.getPersonCardType() == null ? other.getPersonCardType() == null : this.getPersonCardType().equals(other.getPersonCardType()))
            && (this.getPersonCardId() == null ? other.getPersonCardId() == null : this.getPersonCardId().equals(other.getPersonCardId()))
            && (this.getPersonGenderCode() == null ? other.getPersonGenderCode() == null : this.getPersonGenderCode().equals(other.getPersonGenderCode()))
            && (this.getPersonGenderName() == null ? other.getPersonGenderName() == null : this.getPersonGenderName().equals(other.getPersonGenderName()))
            && (this.getPersonBirthDate() == null ? other.getPersonBirthDate() == null : this.getPersonBirthDate().equals(other.getPersonBirthDate()))
            && (this.getPersonAge() == null ? other.getPersonAge() == null : this.getPersonAge().equals(other.getPersonAge()))
            && (this.getPersonPhoneNo() == null ? other.getPersonPhoneNo() == null : this.getPersonPhoneNo().equals(other.getPersonPhoneNo()))
            && (this.getQuestion() == null ? other.getQuestion() == null : this.getQuestion().equals(other.getQuestion()))
            && (this.getDiagnosis() == null ? other.getDiagnosis() == null : this.getDiagnosis().equals(other.getDiagnosis()))
            && (this.getDrugIds() == null ? other.getDrugIds() == null : this.getDrugIds().equals(other.getDrugIds()))
            && (this.getDrugNames() == null ? other.getDrugNames() == null : this.getDrugNames().equals(other.getDrugNames()))
            && (this.getPhotoIds() == null ? other.getPhotoIds() == null : this.getPhotoIds().equals(other.getPhotoIds()))
            && (this.getConsultStatus() == null ? other.getConsultStatus() == null : this.getConsultStatus().equals(other.getConsultStatus()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getAcceptTime() == null ? other.getAcceptTime() == null : this.getAcceptTime().equals(other.getAcceptTime()))
            && (this.getFinishTime() == null ? other.getFinishTime() == null : this.getFinishTime().equals(other.getFinishTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getConsultId() == null) ? 0 : getConsultId().hashCode());
        result = prime * result + ((getOrgId() == null) ? 0 : getOrgId().hashCode());
        result = prime * result + ((getOrgName() == null) ? 0 : getOrgName().hashCode());
        result = prime * result + ((getDeptId() == null) ? 0 : getDeptId().hashCode());
        result = prime * result + ((getDeptName() == null) ? 0 : getDeptName().hashCode());
        result = prime * result + ((getDoctorId() == null) ? 0 : getDoctorId().hashCode());
        result = prime * result + ((getDoctorName() == null) ? 0 : getDoctorName().hashCode());
        result = prime * result + ((getDoctorLevelCode() == null) ? 0 : getDoctorLevelCode().hashCode());
        result = prime * result + ((getDoctorLevelName() == null) ? 0 : getDoctorLevelName().hashCode());
        result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
        result = prime * result + ((getPersonName() == null) ? 0 : getPersonName().hashCode());
        result = prime * result + ((getPersonCardType() == null) ? 0 : getPersonCardType().hashCode());
        result = prime * result + ((getPersonCardId() == null) ? 0 : getPersonCardId().hashCode());
        result = prime * result + ((getPersonGenderCode() == null) ? 0 : getPersonGenderCode().hashCode());
        result = prime * result + ((getPersonGenderName() == null) ? 0 : getPersonGenderName().hashCode());
        result = prime * result + ((getPersonBirthDate() == null) ? 0 : getPersonBirthDate().hashCode());
        result = prime * result + ((getPersonAge() == null) ? 0 : getPersonAge().hashCode());
        result = prime * result + ((getPersonPhoneNo() == null) ? 0 : getPersonPhoneNo().hashCode());
        result = prime * result + ((getQuestion() == null) ? 0 : getQuestion().hashCode());
        result = prime * result + ((getDiagnosis() == null) ? 0 : getDiagnosis().hashCode());
        result = prime * result + ((getDrugIds() == null) ? 0 : getDrugIds().hashCode());
        result = prime * result + ((getDrugNames() == null) ? 0 : getDrugNames().hashCode());
        result = prime * result + ((getPhotoIds() == null) ? 0 : getPhotoIds().hashCode());
        result = prime * result + ((getConsultStatus() == null) ? 0 : getConsultStatus().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getAcceptTime() == null) ? 0 : getAcceptTime().hashCode());
        result = prime * result + ((getFinishTime() == null) ? 0 : getFinishTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", consultId=").append(consultId);
        sb.append(", orgId=").append(orgId);
        sb.append(", orgName=").append(orgName);
        sb.append(", deptId=").append(deptId);
        sb.append(", deptName=").append(deptName);
        sb.append(", doctorId=").append(doctorId);
        sb.append(", doctorName=").append(doctorName);
        sb.append(", doctorLevelCode=").append(doctorLevelCode);
        sb.append(", doctorLevelName=").append(doctorLevelName);
        sb.append(", createUserId=").append(createUserId);
        sb.append(", personName=").append(personName);
        sb.append(", personCardType=").append(personCardType);
        sb.append(", personCardId=").append(personCardId);
        sb.append(", personGenderCode=").append(personGenderCode);
        sb.append(", personGenderName=").append(personGenderName);
        sb.append(", personBirthDate=").append(personBirthDate);
        sb.append(", personAge=").append(personAge);
        sb.append(", personPhoneNo=").append(personPhoneNo);
        sb.append(", question=").append(question);
        sb.append(", diagnosis=").append(diagnosis);
        sb.append(", drugIds=").append(drugIds);
        sb.append(", drugNames=").append(drugNames);
        sb.append(", photoIds=").append(photoIds);
        sb.append(", consultStatus=").append(consultStatus);
        sb.append(", createTime=").append(createTime);
        sb.append(", acceptTime=").append(acceptTime);
        sb.append(", finishTime=").append(finishTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}